/**
 * tzdesk系统平台
 * moonvip_admin
 * com.tz.dao.user
 * IUserMapper.java
 * 创建人:hufanglei
 * 时间：2016年11月24日-上午12:40:28
 *
 */
package com.tz.dao.adminUser;

import com.tz.bean.AdminUser;
import com.tz.bean.Permission;
import com.tz.bean.TzParams;

import java.util.HashMap;
import java.util.List;

/**
 * 
 * IUserMapper
 * 创建人:hufanglei
 * 时间：2016年11月24日-上午12:40:28
 * @version 1.0.0
 * 
 */
public interface IAdminUserMapper {

	/**
	 * 根据账号和密码实现登陆
	 * com.tz.dao.user 
	 * 方法名：getLogin
	 * 创建人：hufanglei
	 * 手机号码:15074816437
	 * 时间：2016年11月24日-上午12:41:22
	 * @param
	 * @param
	 * @return 
	 * 返回类型：User
	 * @exception 
	 * @since  1.0.0
	 */
	public AdminUser getLogin(TzParams params);

	public int saveBatch(List<AdminUser> adminUsers);
	public int batchUpdate(List<AdminUser> adminUsers);


	/**
	 *
	 * com.tz.dao.adminuser 
	 * 方法名：findAdminUsers
	 * 创建人：hufanglei 
	 * 手机号码:15166195973
	 * 时间：2016年03月17日 09:36:48
	 * @param params
	 * @return
	 * 返回类型：List<AdminUser>
	 * @exception
	 * @since  1.0.0
	 */
	public List<HashMap<String, Object>> findAdminUsers(TzParams params);

	/**
	 * 求总数
	 * com.tz.dao.adminuser 
	 * 方法名：count
	 * 创建人：hufanglei 
	 * 手机号码:15166195973
	 * 时间：2016年03月17日 09:36:48
	 * @param
	 * @return
	 * 返回类型：List<AdminUser>
	 * @exception
	 * @since  1.0.0
	 */
	public int count(TzParams params);

	/**
	 *
	 * com.tz.dao.adminuser 
	 * 方法名：getAdminUser
	 * 创建人：hufanglei 
	 * 手机号码:15166195973
	 * 时间：2016年03月17日 09:36:48
	 * @param id
	 * @return
	 * 返回类型：List<AdminUser>
	 * @exception
	 * @since  1.0.0
	 */
	public AdminUser get(Integer id);

	/**
	 * 保存用户管理
	 * com.tz.dao.adminuser 
	 * 方法名：save
	 * 创建人：hufanglei 
	 * 手机号码:15166195973
	 * 时间：2016年03月17日 09:36:48
	 * @param adminuser
	 * @return
	 * 返回类型：AdminUser
	 * @exception
	 * @since  1.0.0
	 */
	public int save(AdminUser adminuser);

	/**
	 * 更新用户管理
	 * com.tz.dao.adminuser 
	 * 方法名：update
	 * 创建人：hufanglei 
	 * 手机号码:15166195973
	 * 时间：2016年03月17日 09:36:48
	 * @param adminuser
	 * @return
	 * 返回类型：int
	 * @exception
	 * @since  1.0.0
	 */
	public int update(AdminUser adminuser);

	/**
	 * 删除用户管理
	 * com.tz.dao.adminuser 
	 * 方法名：delete
	 * 创建人：hufanglei 
	 * 手机号码:15166195973
	 * 时间：2016年03月17日 09:36:48 
	 * @param params
	 * @return
	 * 返回类型：int
	 * @exception
	 * @since  1.0.0
	 */
	public int delete(TzParams params);

	List<Permission> getPermissionByUserId(Integer id);

	List<Permission> getParentPermissionByUserId(Integer id);

	List<Permission> getNextPermissionByUserId(HashMap map);

}
